﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;

namespace ServerYuGi
{
    public class MainPhase1 : ITurn
    {
        public MainPhase1()
        {
            STurnManager.Register(EnumState.MainPhase1, this);
        }

        #region ITurn Members

        public void SBeginTurn(SSupervisor super)
        {
            // Send Block
            super.SendMessage_TURN_MF1_BLOCK_ToID(super.TurnManager.IDPlayerTrongLuot);
            super.SendMessage_TURN_MAINPHASE1_BEGIN_ToAll(super.TurnManager.IDPlayerTrongLuot);           
        }
        public void SEndTurn(SSupervisor super)
        {           
            super.SendMessage_TURN_MAINPHASE1_END_ToAll(super.TurnManager.IDPlayerTrongLuot);
        }

        public bool CheckYMSG(YMSG message)
        {
            if (TURNYMSG.Contains(message))
                return true;
            return false;
        }

        #endregion

        public static List<YMSG> TURNYMSG = new List<YMSG> 
        {
            YMSG.PLAYER_THAYDOIDIEM, // Có thể gửi cho cả 2 player kèm theo ID của player
            YMSG.CARD_LENBAI, // Gửi cho player lên bài
            YMSG.CARD_LENBAI_HOPLE,  // Gửi nếu lên bài hợp lệ
            YMSG.CARD_LENBAI_KHONGHOPLE, // Gửi nếu lên bài không hợp lệ
            YMSG.CARD_LENBAI_XONG, // Player lên bài xong gửi về cho server, server gửi message này về cho player kia
            YMSG.CARD_DOITRANGTHAI, // Player gửi về server báo đổi trạng thái lá bài
            YMSG.CARD_DOITRANGTHAI_XONG, // Gửi cho player kia biết là đổi trạng thái bài của player này
            YMSG.CARD_LENBAI_SUMMONDACBIET,     // gửi về cho server biết là lên bài summon đặc biệt, kèm theo ID các lá thế
            YMSG.CARD_LENBAI_SUMMONDACBIET_XONG, // gửi cho client biết là lên bài summon đặc biệt xong
            YMSG.CARD_LENBAI_SUMMONDACBIET_HOPLE, // lên bài summon đặc biệt hợp lệ
            YMSG.CARD_LENBAI_SUMMONDACBIET_KHONGHOPLE, // lên bài summon đặc biệt ko hợp lệ           
            YMSG.TURN_MAINPHASE1_BEGIN, // bắt đầu main phase 1
            YMSG.TURN_MAINPHASE1_END, // kết thúc main phase 1
            YMSG.TURN_SKIP            
        };
      
    }
}
